A graphical user interface (GUI) for computer systems typically include a capability to present on a screen space a plurality of windows each of which may have a different application running under it, providing a user with the appearance of the multitasking capabilities. The last window used or opened remains the active window until the user selects another window as the active window. The active window is the window in which actions are performed and is located at the uppermost layer of the GUI. For instance, when the user presses a paste button, the paste occurs in the active window and if the user types, the resulting text appears at the last cursor location in the active window.
Open windows other than the active window are within layers below the active window. The higher the layer within which a window resides, the higher the priority for displaying the window's contents. In other words, higher layer windows block or obscure content in lower layers of the GUI and the desktop is typically at the bottom or lowest layer of the GUI.
More often than not, a user takes advantage of the multitasking capability by opening separate windows for each application. However, the display or monitor upon which the user displays the plurality of windows has a screen space limited by the physical size of a display or monitor so the task of managing the windows becomes increasingly difficult as the number of open windows increase.
The current GUI technology enables users to manually resize the active window by minimizing, maximizing, and dragging the corners of the active window to a desired size. For example, if a window size is larger than the content displayed on it, the user typically minimizes the window to a size needed to display the content, leaving the background area in the screen space for other use.
In other cases, the content of the window, such as text and graphics, may need a larger display area than the initial window size so the user can scroll through the window and/or manually resize the window by maximizing or dragging the corners of the window to a desired size that increases the viewable content contained in the window. For instance, when lines of text extend past the right edge of a window displaying the text, the user can manually scroll the active window via a scroll bar between the left and right portions to view the text.
The manual scrolling becomes a burdensome task, especially when the user needs to navigate back and forth between left and right sides of the windows in order to view the content. While the user may maximize the active window to reduce the problem associated with manual scrolling, maximization typically results in overlapping and covering up additional screen space, and thereby obscuring the view of inactive windows and other displayed items or objects in the screen space.
Inevitably, the overlapping, higher-layer windows visually obscure inactive windows. The multiple windows are presented in disarray, requiring considerable time and effort by users to search for desired windows or other objects such as icons on the desktop. Frequently, users do not even realize that they have various inactive windows open and may even open a duplicate window, compounding the problem.
Managing the multiple, overlapping and obscured windows is particularly challenging while transferring information between two or more of the windows. Transferring information from a source window to a target window requires the user to know where each window is located or find each window in the z-order or on the toolbar. For cases in which the source and target windows are fully or partially covered, this can be time consuming and otherwise detrimental to productivity. For example, when transferring information involves copying and pasting, the user has to find and activate the source window, copy the content of interest from the source window, locate and activate the target window, paste the content, and potentially find and activate the source window again to copy and paste additional content.
More specifically, to switch the active window between the source window and the target window, the user must either recognize the tabs or the window descriptions of the source and target windows or select each available tab or window until the source and target windows are found. Due to the limited space for the descriptions and the accommodation for a variable number of windows, the descriptions may be severely abbreviated. In many situations, the user finds it more convenient to reduce windows to icons or tabs until the appropriate window is located and/or open and activate the windows until the appropriate window is found. In other situations, the user may size windows to leave non-overlapping portions and click on the non-overlapping portions of the windows to activate each window in some order until the target or source window is found. Clicking on the non-overlapping portion typically raises the corresponding application window to the uppermost layer of the desktop, obscuring previously activated windows.
When there is a need for the simultaneous viewing of information contained in the two different application windows, the user may resize the corresponding application windows so they are small enough to fit next to one another on the display but still retain sufficiently large text and graphics to remain usable. While average display sizes have been steadily increasing, many users still find it difficult to have more than one window viewable at one time. Thus, after viewing or transferring content, the user typically resizes the windows back to a more useable size. When the user just wants to copy content from one window and paste the content into the other, this conventional methodology can be disruptive and time consuming, significantly impacting productivity.
Productivity is further impacted when there is more than one target and/or source window and the source window of interest is not directly beneath the target window. For instance, the user may be working with three or more windows and the target window may be on top while the source window is several layers beneath the target window. Typically, the user would have to resize, move, minimize, and/or scroll through windows on the display to make the source window active. Such procedures significantly impact the speed at which copying and pasting can occur.
Current solutions involve transparent windows. Making one or more windows transparent can allow the user to either view the content of more than one of the windows at a time even on displays that are not sufficiently large to display the windows next to one another. Furthermore, the use of transparent windows can allow the user to locate the window of interest more quickly. However, the current solutions do not offer a convenient way to switch between active windows or otherwise manage the transparent windows during the performance of a task.